Voice over IP or VoIP is becoming the telecommunications media of choice. In VoIP, real time voice communications are enabled using packets transmitted over the Internet. The Session Initiation Protocol or SIP is a simple signaling/application-layer control protocol widely used for VoIP. SIP provides the necessary protocol mechanisms for common circuit-switched telephone features such as call forwarding, callee and calling number delivery, personal mobility, terminal capability negotiation, caller and callee authentication, blind and supervised call transfer, and invitations to multicast conferences.
In SIP, setting up a call is straightforward. The calling terminal sends an INVITE message containing codec preferences. The answering terminal returns a “180 ringing” response and rings. When the user answers the call, the terminal sends an OK message with its own codec preferences and rings. Once the codec preferences are negotiated, the call proceeds.
To support mobility and higher-order application, SIP defines entities that help manage calls in different ways. The entities include registrars that maintain a map of “what IP address a given user is at right now”, proxies that act as auto-responders, or forwarding agents, redirect servers that perform a subset of forwarding functions, proxy servers that perform call routing, session management, redirect functions, routing to media gateways, and user authentication, SIP user agents that initiate and manage the basic connection between two endpoints, and a SIP location server to maintain user profiles and provide subscriber registration.
Where a SIP endpoint supports multiple line appearances and acts as an extension on a switch, the SIP endpoint typically is unable to provide timely certain telephony features, such as line appearance updates and bridging functionality. A line appearance refers to a visual indicator on a communication device of the status of an associated communications channel. A line appearance is typically an LED and a key. When the channel is selected by pressing the key, the LED is illuminated to show that the channel is in use. Bridging refers to a third party connecting onto a channel between a callee and caller by activating a line appearance associated with one of the party's phones. For example, a secretary having a bridged line appearance for one of her boss' lines can connect to the line by pressing the key of the bridged line appearance. The failure to provide line appearance updates and bridging functionality is largely due to the SIP phone's deficiency in providing line appearance and busy indicator information to a switch. When a SIP phone goes off-hook, the phone, unlike a stimulus signaling phone, does not provide an off-hook signal to the switch. Rather, the SIP phone waits to receive all of the dialed digits and then forwards an INVITE to the switch containing the dialed digits. The dialed digits are provided to the switch as a group rather than individually. From the time that the SIP endpoint is off-hook and digits are being dialed, the switch is unaware of the changed status of the SIP endpoint and understands that the endpoint it still idle. Thus, bridged line appearances and busy indicators on other endpoints are not updated.
Another problem with SIP endpoints is line appearance collision. Line appearance collision occurs when a party on a SIP endpoint is dialing digits to make a call on a selected line appearance and a call is received by the switch for the SIP endpoint. Collision occurs when both the endpoint user and switch have selected the same line appearance, or channel, for the outgoing and incoming calls. The incoming call will be connected with the user who is expecting another party to answer. A “race” condition thus exists between the SIP endpoint and switch to determine who can first select the line appearance first and notify the other party of the selection.